package main.beans;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import main.interfaces.Cadastravel;

public class Adotante extends Pessoa implements Cadastravel, Serializable {

    private String numeroCadastro;
    private Date dataCadastro;
    private List<Animal> animaisAdotados;
    private boolean credibilidade = true;
    
    public Adotante(String nome, String cpf) throws Exception {
        super(nome, cpf);
        animaisAdotados = new ArrayList<Animal>();
        
        dataCadastro = Calendar.getInstance().getTime();
        this.numeroCadastro = getCPF();
    }

    @Override
    public String getNumeroCadastro() {
        return numeroCadastro;
    }

    @Override
    public void setNumeroCadastro(String cadastro) {
        numeroCadastro = cadastro;
    }

    @Override
    public Date getDataCadastro() {
        return dataCadastro;
    }

    public List<Animal> getAnimaisAdotados() {
        return animaisAdotados;
    }

    public void setAnimaisAdotados(List<Animal> animaisAdotados) {
        this.animaisAdotados = animaisAdotados;
    }

    public boolean isCredibilidade() {
        return credibilidade;
    }

    public void setCredibilidade(boolean credibilidade) {
        this.credibilidade = credibilidade;
    }

    public boolean adota(Animal bicho) {
        return animaisAdotados.add(bicho);
    }

    @Override
    public String toString() {
        return "nome: " + getNome() + " cadastro: " + numeroCadastro;
    }
}
